package com.xuetang9.service.ls;

import com.xuetang9.domain.Pole;

import java.util.List;

/**
 * @description: 杆塔管理业务的接口
 * @author: 可爱的李四
 * @createTime: 2020/5/13 9:29
 * @version: 1.0.0
 * @place: 公司
 * @copyright: 老九学堂
 */
public interface PoleService {

    /**
     * 增加杆塔信息
     * @param pole 增加的杆塔信息
     * @return 增加成功返回1，失败返回0
     */
    int insertPole(Pole pole);

    /**
     * 根据杆塔编号删除杆塔
     * @param poleId  需要删除杆塔的编号
     * @return 删除成功返回1，失败返回0
     */
    int deletePole(String poleId);

    /**
     * 修改杆塔信息
     * @param pole 修改的杆塔信息
     * @return 修改成功返回1，失败返回0
     */
    int updatePole(Pole pole);

    /**
     * 根据杆塔编号进行查找
     * @param poleId 需要查找的杆塔编号
     * @return 成功返回满足条件杆塔信息，失败返回null
     */
    Pole selectPoleByPoleId(String poleId);

    /**
     * 根据杆塔线路进行查找
     * @param poleAddress 需要查找的杆塔线路
     * @return 成功返回所有满足条件杆塔信息，失败返回null
     */
    List<Pole> selectPoleByAddress(String poleAddress);

    /**
     * 根据杆塔状态进行查找
     * @param poleStatus 需要查找的杆塔状态
     * @return 成功返回所有满足条件杆塔信息，失败返回null
     */
    List<Pole> selectPoleByStatus(String poleStatus);

    /**
     * 根据杆塔信息查找杆塔信息
     * @param pole 需要查找的杆塔信息
     * @return 成功返回满足条件杆塔信息，失败返回null
     */
    Pole selectByPole(Pole pole);

    /**
     * 查找全部
     * @return 成功返回所有杆塔信息，失败返回null
     */
    List<Pole> selectAll();

}
